<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!DOCTYPE html
      PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:f="http://java.sun.com/jsf/core">
<head>
    <title>hideNoSelection</title>
</head>
<body>
<c:set target="#{requestScope}" property="selectedHobbit" value="Frodo"/>
<c:set target="#{requestScope}" property="noSelectionValue" value="No Selection"/>
<h:form id="f">

    <p>
        Literal hideNoSelectionOption (true) with nested selectItems with attribute noSelectionLabel and selected value different from the No Selection option.<br/>
        As there is a selected value and the hideNoSelectionOption is set to true, the No Selection option shouldn't be shown to the user.
    </p>
    <h:selectOneMenu id="selectItemsSelectedValue" value="#{requestScope['selectedHobbit']}" hideNoSelectionOption="true">
       <f:selectItems value="#{selectItemsBean.hobbitsNoSelectionNestedInGroup}" noSelectionValue="#{selectItemsBean.hobbitsNoSelectionNestedInGroup[0]}"/>
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (true) with nested selectItems with attribute noSelectionLabel and no selected value.<br/>
        As there is no selected value, the No Selection option should be shown to the user, even though the hideNoSelectionOption is set to true.
    </p>
    <h:selectOneMenu id="selectItemsNoSelectedValue" value="#{requestScope['notYetSelectedHobbit']}" hideNoSelectionOption="true">
       <f:selectItems value="#{selectItemsBean.hobbitsNoSelectionNestedInGroup}" noSelectionValue="#{selectItemsBean.hobbitsNoSelectionNestedInGroup[0]}"/>
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (true) with nested selectItems with attribute noSelectionLabel and selected value equal to No Selection option.<br/>
        As the selected value is equal to the No Selection option, the No Selection option should be shown to the user, even though the hideNoSelectionOption is set to true.
    </p>
    <h:selectOneMenu id="selectItemsNoSelectionSelectedValue" value="#{requestScope['noSelectionValue']}" hideNoSelectionOption="true">
		<f:selectItems value="#{selectItemsBean.hobbitsNoSelectionNestedInGroup}" noSelectionValue="#{selectItemsBean.hobbitsNoSelectionNestedInGroup[0]}"/>
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (true) with nested selectItem with attribute noSelectionOption set to true and selected value different from the No Selection Option.<br/>
        As there is a selected value and the hideNoSelectionOption is set to true, the No Selection option shouldn't be shown to the user.
    </p>
    <h:selectOneMenu id="selectItemSelectedValue" value="#{requestScope['selectedHobbit']}" hideNoSelectionOption="true">
       <f:selectItem noSelectionOption="true" itemLabel="No Selection" itemValue="No Selection"/>
       <f:selectItems value="#{selectItemsBean.hobbitsNestedInGroup}" />
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (true) with nested selectItem with attribute noSelectionOption and no selected value.<br/>
        As there is no selected value, the No Selection option should be shown to the user, even though the hideNoSelectionOption is set to true.
    </p>
    <h:selectOneMenu id="selectItemNoSelectedValue" value="#{requestScope['notYetSelectedHobbit']}" hideNoSelectionOption="true">
       <f:selectItem noSelectionOption="true" itemLabel="No Selection" itemValue="No Selection"/>
       <f:selectItems value="#{selectItemsBean.hobbitsNestedInGroup}" />
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (true) with nested selectItem with attribute noSelectionOption and selected value equal to No Selection option.<br/>
        As the selected value is equal to the No Selection option, the No Selection option should be shown to the user, even though the hideNoSelectionOption is set to true.
    </p>
    <h:selectOneMenu id="selectItemNoSelectionSelectedValue" value="#{requestScope['noSelectionValue']}" hideNoSelectionOption="true">
       <f:selectItem noSelectionOption="true" itemLabel="No Selection" itemValue="No Selection"/>
       <f:selectItems value="#{selectItemsBean.hobbitsNestedInGroup}" />
    </h:selectOneMenu>
    
    <!-- hideNoSelectionOption = false -->
    
    <p>
        Literal hideNoSelectionOption (false) with nested selectItems with attribute noSelectionLabel and selected value.<br/>
        As the hideNoSelectionOption is set to false, the No Selection Option should always be shown.
    </p>
    <h:selectOneMenu id="selectItemsSelectedValueNoHiding" value="#{requestScope['selectedHobbit']}" hideNoSelectionOption="false">
		<f:selectItems value="#{selectItemsBean.hobbitsNoSelectionNestedInGroup}" noSelectionValue="#{selectItemsBean.hobbitsNoSelectionNestedInGroup[0]}"/>
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (false) with nested selectItems with attribute noSelectionLabel and no selected value.<br/>
        As the hideNoSelectionOption is set to false, the No Selection Option should always be shown.
    </p>
    <h:selectOneMenu id="selectItemsNoSelectedValueNoHiding" value="#{requestScope['notYetSelectedHobbit']}" hideNoSelectionOption="false">
		<f:selectItems value="#{selectItemsBean.hobbitsNoSelectionNestedInGroup}" noSelectionValue="#{selectItemsBean.hobbitsNoSelectionNestedInGroup[0]}"/>
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (false) with nested selectItems with attribute noSelectionLabel and selected value equal to No Selection option.<br/>
        As the hideNoSelectionOption is set to false, the No Selection Option should always be shown.
    </p>
    <h:selectOneMenu id="selectItemsNoSelectionSelectedValueNoHiding" value="#{requestScope['noSelectionValue']}" hideNoSelectionOption="false">
		<f:selectItems value="#{selectItemsBean.hobbitsNoSelectionNestedInGroup}" noSelectionValue="#{selectItemsBean.hobbitsNoSelectionNestedInGroup[0]}"/>
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (false) with nested selectItem with attribute noSelectionOption set to true and selected value.<br/>
        As the hideNoSelectionOption is set to false, the No Selection Option should always be shown.
    </p>
    <h:selectOneMenu id="selectItemSelectedValueNoHiding" value="#{requestScope['selectedHobbit']}" hideNoSelectionOption="false">
       <f:selectItem noSelectionOption="true" itemLabel="No Selection" itemValue="No Selection"/>
       <f:selectItems value="#{selectItemsBean.hobbitsNestedInGroup}" />
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (false) with nested selectItem with attribute noSelectionOption and no selected value.<br/>
        As the hideNoSelectionOption is set to false, the No Selection Option should always be shown.
    </p>
    <h:selectOneMenu id="selectItemNoSelectedValueNoHiding" value="#{requestScope['notYetSelectedHobbit']}" hideNoSelectionOption="false">
       <f:selectItem noSelectionOption="true" itemLabel="No Selection" itemValue="No Selection"/>
       <f:selectItems value="#{selectItemsBean.hobbitsNestedInGroup}" />
    </h:selectOneMenu>
	
    <p>
        Literal hideNoSelectionOption (false) with nested selectItem with attribute noSelectionOption and selected value equal to No Selection option.<br/>
        As the hideNoSelectionOption is set to false, the No Selection Option should always be shown.
    </p>
    <h:selectOneMenu id="selectItemNoSelectionSelectedValueNoHiding" value="#{requestScope['noSelectionValue']}" hideNoSelectionOption="false">
       <f:selectItem noSelectionOption="true" itemLabel="No Selection" itemValue="No Selection"/>
       <f:selectItems value="#{selectItemsBean.hobbitsNestedInGroup}" />
    </h:selectOneMenu>

</h:form>
<h:messages id="messages"/>
</body>
</html>
